package br.ufrgs.engsoft.entity;

import java.io.Serializable;

import javax.xml.bind.annotation.XmlRootElement;

/**
 * Entidade Referencia.
 */
@XmlRootElement
public class Referencia implements Serializable, Comparable<Referencia> {
	private static final long serialVersionUID = 1L;
	
	private Integer id;
	private Autor autor;
	private String titulo;
	private Integer anoPublicacao;
	private String subtitulo;
	private String edicao;
	private String localPublicacao;
	private String editora;
	private Integer numeroPaginas;
	private Integer numeroVolumes;
	private Integer serie;

	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Autor getAutor() {
		return autor;
	}
	public void setAutor(Autor autor) {
		this.autor = autor;
	}
	public String getTitulo() {
		return titulo;
	}
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	public Integer getAnoPublicacao() {
		return anoPublicacao;
	}
	public void setAnoPublicacao(Integer anoPublicacao) {
		this.anoPublicacao = anoPublicacao;
	}
	public String getSubtitulo() {
		return subtitulo;
	}
	public void setSubtitulo(String subtitulo) {
		this.subtitulo = subtitulo;
	}
	public String getEdicao() {
		return edicao;
	}
	public void setEdicao(String edicao) {
		this.edicao = edicao;
	}
	public String getLocalPublicacao() {
		return localPublicacao;
	}
	public void setLocalPublicacao(String localPublicacao) {
		this.localPublicacao = localPublicacao;
	}
	public String getEditora() {
		return editora;
	}
	public void setEditora(String editora) {
		this.editora = editora;
	}
	public Integer getNumeroPaginas() {
		return numeroPaginas;
	}
	public void setNumeroPaginas(Integer numeroPaginas) {
		this.numeroPaginas = numeroPaginas;
	}
	public Integer getNumeroVolumes() {
		return numeroVolumes;
	}
	public void setNumeroVolumes(Integer numeroVolumes) {
		this.numeroVolumes = numeroVolumes;
	}
	public Integer getSerie() {
		return serie;
	}
	public void setSerie(Integer serie) {
		this.serie = serie;
	}
	// Para ordenacao
	public int compareTo(Referencia o) {
		return (this.getAnoPublicacao() - o.getAnoPublicacao());
	}
}
